SuspendAutomaton
class SuspendAutomaton<State, Transition, NoNextStateReason>(initialState: State, checkTransition: suspend SuspendAutomaton<State, Transition, NoNextStateReason>.(State, Transition) -> CheckResult<State, NoNextStateReason>, onTransition: suspend SuspendAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition, nextState: State) -> Unit = { _, _, _ -> })(source)
Constructors
Link copied to clipboard
constructor(initialState: State, checkTransition: suspend SuspendAutomaton<State, Transition, NoNextStateReason>.(State, Transition) -> CheckResult<State, NoNextStateReason>, onTransition: suspend SuspendAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition, nextState: State) -> Unit = { _, _, _ -> })
Functions
Link copied to clipboard
suspend fun <State, Transition, NoNextStateReason> SuspendAutomaton<State, Transition, NoNextStateReason>.move(transition: Transition): MovementResult<State, Transition, NoNextStateReason>
inline suspend fun <State, Transition, NoNextStateReason> SuspendAutomaton<State, Transition, NoNextStateReason>.move(transition: suspend (State) -> Transition): MovementResult<State, Transition, NoNextStateReason>
Link copied to clipboard
inline suspend fun <State, Transition, NoNextStateReason, Computation> SuspendAutomaton<State, Transition, NoNextStateReason>.moveAndCompute(transition: suspend (State) -> TransitionAndComputation<Transition, Computation>): MovementAndComputationResult<State, Transition, NoNextStateReason, Computation>
Link copied to clipboard
suspend fun <State, Transition, NoTransitionReason, NoNextStateReason> SuspendAutomaton<State, Transition, NoNextStateReason>.moveMaybe(transition: TransitionOrReason<Transition, NoTransitionReason>): MovementMaybeResult<State, Transition, NoTransitionReason, NoNextStateReason>
inline suspend fun <State, Transition, NoTransitionReason, NoNextStateReason> SuspendAutomaton<State, Transition, NoNextStateReason>.moveMaybe(transition: suspend (State) -> TransitionOrReason<Transition, NoTransitionReason>): MovementMaybeResult<State, Transition, NoTransitionReason, NoNextStateReason>
Link copied to clipboard
inline suspend fun <State, Transition, NoTransitionReason, NoNextStateReason, Computation> SuspendAutomaton<State, Transition, NoNextStateReason>.moveMaybeAndCompute(transition: suspend (State) -> TransitionOrReasonAndComputation<Transition, NoTransitionReason, Computation>): MovementMaybeAndComputationResult<State, Transition, NoTransitionReason, NoNextStateReason, Computation>